package com.ytzq.web.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.ytzq.base.config.Config;
import com.ytzq.base.constants.LOG_TYPE;
import com.ytzq.base.dict.Dict;
import com.ytzq.base.jdbc.DBConfigure;
import com.ytzq.base.log.Logger;
/**
 * 应用监听程序
 * @author 门士松  20121029
 * @version 1.0
 * @since
 */
public class ApplicationListener implements ServletContextListener{	
	
	Logger loger ;
	/**
	 * 在系统启动时调用
	 * @param ServletContextEvent 实例
	 */
	@Override
	public void contextInitialized(ServletContextEvent event) {
		//初始化数据源
		DBConfigure dbConfigure = new DBConfigure()  ;
		dbConfigure.init();
		loger = Logger.getLogger(this.getClass()); //先初始化数据库才能实例化日志
		//初始化配置参数 
		Config config = new Config();
		config.init();
		loger.info(LOG_TYPE.SYSTEM, "系统参数初始化结束...");
		//初始化数据字典
		Dict.init();
		loger.info(LOG_TYPE.SYSTEM, "数据字典初始化结束...");
	}
	/**
	 * 在系统停止时调用
	 * @param ServletContextEvent 实例
	 */	
	@Override
	public void contextDestroyed(ServletContextEvent event) {
		//关闭数据源的连接
		loger.info( LOG_TYPE.SYSTEM ,"系统关闭数据源的连接...");
		DBConfigure dbConfigure = new DBConfigure();
		dbConfigure.destroyDataSource();
	}	
}